﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<vector>
#include<iostream>
#include<unordered_map>
using namespace std;

//namespace study_leetcode
//{
//    class Solution {
//    public:
//        int removeDuplicates(vector<int>& nums)
//        {
//            int numsize = nums.size();
//            if (numsize == 0)
//            {
//                return 0;
//            }
//
//
//            int fast = 1, slow = 1;
//            while (fast < numsize)
//            {
//                if (nums[fast] != nums[fast - 1])
//                {
//                    nums[slow] = nums[fast];
//                    slow++;
//                }
//                fast++;
//            }
//            return slow;
//        }
//    };
//
//
//    class Solution
//    {
//    public:
//        int singleNumber(vector<int>& nums)
//        {
//            unordered_map<int, int> freq;
//            //先将nums中出现过的放到freq里面。
//            for (auto n : nums)
//            {
//                ++freq[n];
//            }
//            int ans = 0;//用来找出现一次的数字的。
//            for (auto [num1, num2] : freq)
//            {
//                if (num2 == 1)
//                    ans = num1;
//            }
//            return ans;
//        }
//    };
//}
//﻿#include<iostream>
//#include<vector>
//using namespace std;

//int main(void)
//
//{
//
//	vector<int>array;
//
//	array.push_back(100);
//
//	array.push_back(300);
//
//	array.push_back(300);
//
//	array.push_back(300);
//
//	array.push_back(300);
//
//	array.push_back(500);
//
//	vector<int>::iterator itor;
//
//	for (itor = array.begin(); itor != array.end(); itor++)
//
//	{
//
//		if (*itor == 300)
//
//		{
//
//			itor = array.erase(itor);
//
//		}
//
//	}
//
//	for (itor = array.begin(); itor != array.end(); itor++)
//
//	{
//
//		cout << *itor << " ";
//
//	}
//
//	return 0;
//
//}


//int main()
//{
//
//	int ar[] = { 1,2,3,4,5,6,7,8,9,10 };
//
//	int n = sizeof(ar) / sizeof(int);
//
//	vector<int> v(ar, ar + n);

//	cout << v.size() << ":" << v.capacity() << endl;
//
//	v.reserve(100);
//
//	v.resize(20);
//
//	cout << v.size() << ":" << v.capacity() << endl;
//
//	v.reserve(50);
//
//	v.resize(5);
//
//	cout << v.size() << ":" << v.capacity() << endl;
//
////}


int main()
{

	int ar[] = { 1,2,3,4,0,5,6,7,8,9 };

	int n = sizeof(ar) / sizeof(int);

	vector<int> v(ar, ar + n);

	vector<int>::iterator it = v.begin();

	while (it != v.end())

	{

		if (*it != 0)

			cout << *it;

		else

			v.erase(it);

		it++;

	}

	return 0;

}